【画像/コードで解説】PythonでGoogle Search Console APIを使う方法 |
您所在的位置:网站首页 › google search console api › 【画像/コードで解説】PythonでGoogle Search Console APIを使う方法 |
![]() PythonでGoogle Search Console APIを使えば、検索クエリやクリック率などが自由に取得できるよ〜 ![]()
本記事では、PythonでGoogle Search Console APIを使い検索クエリの一覧を抽出する方法をご紹介します。
設定のための画面イメージ、Pythonのソースコードを公開しているので、Google Search ConsoleとPythonの環境さえあれば、Google Search Console APIをすぐに使えるようになると思います。
想定読者 ・ブログなどの自分のサイトを持っていて、Google Search Console(サチコ)を使っている。 ・PythonでなにかAPIを使ってみたい。
※本時期は、2020年11月18日時点の情報となります。 PythonでGoogle Search Console APIを使う事前準備 ![]() PythonでGoogle Search Console APIを使う前提条件を次の通りです。 ・Google、Google Search Console(サチコ)にログインできるアカウントがある。 ・Pythonを動作させる環境がある。
本記事のPythonの実行環境 今回は、以下の実行環境でプログラムを実行しています。 ・Python 3.7.6 ・Jupyterlab 1.2.6
Google Search Console APIを使うための設定手順 ![]() Google Search Console APIを使うための設定手順として、次の5ステップを行います。
step1 「Google Developer Console」でプロジェクトを作成 まず、Googleアカウントにログインした状態で、「Google Developer Console」にアクセスします。 Google Developer Console
Google APIsロゴの右の部分をクリックし、「新しいプロジェクト」をクリックします。 ![]()
「プロジェクト名」に任意の名前を入力し、「作成」ボタンをクリックします。 ![]()
step2「Google Search Console API」を有効化する ステップ1で作成したプロジェクトの「Google Search Console API」を有効化します。 左のメニューから「ダッシュボード」を選択肢し、「APIとサービスの有効化」をクリックします。 ![]()
検索窓で「console」と検索し、「Google Search Console API」をクリックします。 ![]()
「有効にする」をクリックします。 ![]()
step3サービスアカウントを作成する Step1で作成したプロジェクトにサービスアカウントを作成します。このアカウントでGoogle Search Consoleにアクセスしてデータを抽出することとなります。 プロジェクト画面の左メニュー「認証情報」を選択し、「サービスアカウントを管理」をクリックします。 ![]()
「サービスアカウントを作成」をクリックします。 ![]()
「サービスアカウント名」に任意の名前を入力し、「完了」をクリックします。 ![]()
step4サービスアカウントの鍵を作成する ここでは、Step3で作成したサービスアカウントの認証情報である鍵を作成します。 操作列のメニューをクリックし、「鍵を作成」をクリックします。
![]() キーのタイプは、「JSON」を選択し、「作成」をクリックします。 そうすると、鍵のファイルがパソコンのローカルフォルダにダウンロードされます。 ![]()
step5Google Search Consoleでサービスアカウントのアクセス権を付与する まず、自身のGoogle Search Consoleを開きます。 画面左のメニューの「設定」を選択します。
![]()
「ユーザーと権限」を選択します。 ![]()
ユーザー管理画面で、左上にある「ユーザーを追加」をクリックします。 ![]()
「メールアドレス」を入力し、権限は「フル」を選択して、「追加」をクリックします。 ![]() メールアドレスは、「Google Developer Console」のサービスアカウント画面の「メール」の部分をコピーして貼り付けます。 ![]()
ここまででGoogle Search Console APIを使うための設定が終わりです。 次は、実際にGoogle Search Console APIを使うためPythonのソースコードをみていきます。 PythonでGoogle Search Console APIを使い検索クエリの一覧を出力する方法 ![]() まず、PythonでGoogle Search Consoleを使うために次の3つの準備をします。 ・新規の作業フォルダを作成し、サービスアカウントの鍵と新規のipynbファイルを置く ・必要なライブラリのインストールする
2つ目のGoogle Search Console APIを使うために必要なライブラリを次の通りインストールします。 pip install --upgrade google-api-python-client pip install oauth2client
次は、ようやくPythonの実際のソースコードをみていきます。 PythonでGoogle Search Console APIを使い検索クエリの一覧を出力するソースコード それでは、新しく作ったipynbファイルに上からソースを書いていきます。 まずは、インストールしたライブラリをインポートします。 import pandas as pd #Google Search Console APIを使うためのライブラリのインポート from apiclient.discovery import build from oauth2client.service_account import ServiceAccountCredentials
まずは、変数を設定します。 key_file_locationは、鍵のファイル名を入力します。.jsonの拡張子も忘れずつけましょう。 urlには、自身のサイトのURLを入力します。 #変数の設定 scope = ['https://www.googleapis.com/auth/webmasters.readonly'] key_file_location = '鍵のファイル名を入力(XXXXXXXXXX.json)' url = '自分のサイトのURLを入力'
認証して、Google Search Console APIのサービスを立ち上げます。 これはコピペでOKです。 #認証して、APIを立ち上げる credentials = ServiceAccountCredentials.from_json_keyfile_name(key_file_location, scope) webmasters = build('webmasters', 'v3', credentials=credentials)
Google Search Consoleからデータを抽出する条件を設定します。 ここでは、2020年10月の検索クエリを抽出しています。 次のサイトをみれば、他の設定の抽出条件も設定できます。 Query your Google Search analytics data(Google公式HP) #抽出条件の設定 dimensions_list = ['query', 'page'] start_date = '2020-10-01' end_date = '2020-10-31' row_limit = 50 #抽出条件をdict型にする。 request = { 'startDate': start_date, 'endDate': end_date, 'dimensions': dimensions_list, 'rowLimit': row_limit }
次に、設定した抽出条件をもとに、APIで抽出を行います。 これもコピペでOKです。 #Google Search Consoleから抽出する response = webmasters.searchanalytics().query(siteUrl=url, body=request).execute()
最後に、抽出した結果をDataFrame型(表形式)に加工します。 responseはdict型で、リスト型も入子になっているので、json_normalize()を使うと、一発でDataFrame型に変換できます。 #抽出結果を、json_normalizeでDataFrame型にする df = pd.json_normalize(response['rows']) #'keys'列を'query'列, 'page'列に分け、'keys'列は削除する for i, dimension in enumerate(dimensions_list): df[dimension] = df['keys'].apply(lambda row: row[i]) df = df.drop(columns='keys') #JupyterLabでdfを出力 df
実行結果は、次のようになり、ちゃんと検索クエリに関する情報の一覧が出力されました。 ![]()
これによって次の項目を把握することができます。 ・クリック数 ・インプレッション数 ・クリック率(CTR) ・対象期間の平均の検索順位 ・検索クエリ ・対象ページのURL
こんな感じで、Google Search ConsoleからAPIを使って、自分の欲しい情報を取得することができます。 これを使えば、PythonでPandasを使って表形式で加工したり、グラフ化したりと、サイト管理を効率化・自動化できそうですね。
![]() Excelで作業するのって大変だな〜 なにか楽な方法ないかな〜 Excelの集計や単純作業は、Pythonで楽にできるよ!!この一覧 ... 続きを見る
![]() Pythonでデータは集約したけど、うまく可視化できないかな〜 グラフ種類や設定の数が多過ぎて。。 Pythonでは、いろんなグラフ ... 続きを見る
ぜひぜひGoogle Search Console APIを使って、いろんなことを試してみてください。
以上となります。 最後まで読んでいただき、ありがとうございました。
0からPythonを勉強したい方向け おすすめのUdemy講座を紹介します。筆者もこの講座で勉強しました。 米国データサイエンティストがやさしく教えるデータサイエンスのためのPython講座 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |